home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / virtltxt / global.bas < prev    next >
BASIC Source File  |  1994-01-21  |  8KB  |  216 lines

  1. 'GLOBAL.BAS: VBC Version
  2.  
  3. Option Compare Text
  4.  
  5. Global Const MaxBytesToRead& = 45000        ' For Text
  6.  
  7. Global Const MaxBytesToReadHex& = 6400      ' Do not change, Must be multiple of 16! 5X this number should be < 45000
  8. Global Const MaxLinesAllowed% = 30000       ' Maximum lines allowed do not increase
  9. Global Const SpaceBetweenLines = 2          ' Space between lines in Virtual zone
  10.  
  11. Declare Function SendMessage& Lib "User" (ByVal hWd%, ByVal wMsg%, ByVal wparam%, ByVal lParam&)
  12. Declare Function SendMessageBynum& Lib "User" Alias "SendMessage" (ByVal hwnd%, ByVal wMsg%, ByVal wparam%, ByVal lParam&)
  13. Declare Function SendMessageByString& Lib "User" Alias "SendMessage" (ByVal hwnd%, ByVal wMsg%, ByVal wparam%, ByVal lParam$)
  14. Declare Function SendMessageAsAny& Lib "User" Alias "SendMessage" (ByVal hwnd%, ByVal wMsg%, ByVal wparam%, lParam As Any)
  15. Declare Function PutFocus% Lib "User" Alias "SetFocus" (ByVal hWd%)
  16. Declare Function GetDC% Lib "User" (ByVal hwnd%)
  17. Declare Function ReleaseDC% Lib "User" (ByVal hwnd%, ByVal hDC%)
  18. Declare Sub ShowScrollBar Lib "User" (ByVal hwnd%, ByVal wBar%, ByVal bShow%)
  19. Declare Sub SetWindowPos Lib "USER" (ByVal hwnd%, ByVal hWndInsertAfter%, ByVal x%, ByVal y%, ByVal cx%, ByVal cy%, ByVal wFlags%)
  20.  
  21. Declare Function SelectObject% Lib "GDI" (ByVal hDC%, ByVal hObject%)
  22.  
  23. Declare Function GetPrivateProfileInt Lib "Kernel" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal nDefault As Integer, ByVal lpFileName As String) As Integer
  24. Declare Function GetPrivateProfileString Lib "Kernel" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Integer, ByVal lpFileName As String) As Integer
  25. Declare Function WritePrivateProfileString Lib "Kernel" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpString As String, ByVal lpFileName As String) As Integer
  26.  
  27. 'For Global memory
  28. Declare Function GlobalAlloc Lib "Kernel" (ByVal wFlags As Integer, ByVal dwBytes As Long) As Integer
  29. Declare Function GlobalHandleToSel Lib "Toolhelp.DLL" (ByVal Handle As Integer) As Integer
  30. Declare Function GlobalFree Lib "Kernel" (ByVal hMem As Integer) As Integer
  31. Declare Function MemoryRead Lib "Toolhelp.dll" (ByVal wSel As Integer, ByVal dwOffSet As Long, lpvBuf As Any, ByVal dwcb As Long) As Long
  32. Declare Function MemoryWrite Lib "Toolhelp.dll" (ByVal wSel As Integer, ByVal dwOffSet As Long, lpvBuf As Any, ByVal dwcb As Long) As Long
  33.  
  34. Global Const GMEM_FIXED = &H0
  35. Global Const ELEMENT_SIZE& = 77
  36.  
  37. ' Key Codes
  38. Global Const KEY_PRIOR = &H21
  39. Global Const KEY_NEXT = &H22
  40. Global Const KEY_END = &H23
  41. Global Const KEY_HOME = &H24
  42. Global Const KEY_LEFT = &H25
  43. Global Const KEY_UP = &H26
  44. Global Const KEY_RIGHT = &H27
  45. Global Const KEY_DOWN = &H28
  46. Global Const KEY_F3 = &H72
  47. Global Const CTRL_MASK = 2
  48.  
  49. ' KEY_A thru KEY_Z are the same as their ASCII equivalents: 'A' thru 'Z'
  50. ' KEY_0 thru KEY_9 are the same as their ASCII equivalents: '0' thru '9'
  51.  
  52. Global Const WM_USER = &H400
  53.  
  54. Global Const WM_GETFONT = &H31
  55. Global Const EM_GETRECT = WM_USER + 2
  56. Global Const EM_SETRECT = WM_USER + 3
  57. Global Const EM_LINESCROLL = WM_USER + 6
  58. Global Const EM_GETLINECOUNT = WM_USER + 10
  59. Global Const EM_LINEINDEX = WM_USER + 11
  60. Global Const EM_LINELENGTH = WM_USER + 17
  61. Global Const EM_GETLINE = WM_USER + 20
  62. Global Const EM_LIMITTEXT = WM_USER + 21
  63. Global Const EM_SETTABSTOPS = WM_USER + 27
  64.  
  65. Global Const CF_SCREENFONTS = &H1&
  66. Global Const CF_PRINTERFONTS = &H2&
  67. Global Const CC_PREVENTFULLOPEN = &H4
  68.  
  69. Global Const SB_HORZ% = 0
  70.  
  71. Global Const SWP_NOMOVE = &H2
  72. Global Const SWP_NOREPOSITION = &H200
  73. Global Const SWP_NOSIZE = &H1
  74. Global Const SWP_SHOWWINDOW = &H40
  75. Global Const DONT_REPOS = SWP_NOMOVE Or SWP_NOREPOSITION Or SWP_NOSIZE Or SWP_SHOWWINDOW
  76.  
  77. Global TooBig As Integer
  78. Global EOFflag As Integer
  79. Global BoxLines As Integer
  80. Global ScrollEvent As Integer
  81. Global UserCancel As Integer
  82. Global SwitchMode As Integer
  83.  
  84. Global FixedLines() As Long
  85. Global MaxRowsInEditBox As Integer
  86. Global HeightOfRow As Integer
  87. Global BytesRead As Long
  88.  
  89. Global NumArrays As Single
  90. Global Active As Integer
  91. Global TotalLines As Long
  92. Global Filenum As Integer
  93. Global FileLength As Long
  94. Global Virtual As Integer
  95. Global InitialLoad As Integer
  96. Global Const ToTop% = -10000
  97. Global Const ToBottom% = 10000
  98. Global CommandLine As Integer
  99.  
  100. Global Const MODAL = 1
  101.  
  102. Global NL As String
  103. Global FullFilePath As String
  104.  
  105. Global FindStr As String
  106. Global Holdv As Long
  107. Global Holdh As Integer
  108. Global MenuSelect As Integer
  109. Global GoToLineNumber As Integer
  110. Global CaseSensitiveFlag As Integer
  111. Global FromTopFlag As Integer
  112.  
  113. Type FixedLength1
  114.        FixedLengthTemp  As String * MaxBytesToRead
  115. End Type
  116.  
  117. Type FixedLength2
  118.        FixedLengthTempHex  As String * MaxBytesToReadHex
  119. End Type
  120.  
  121. Global FL() As FixedLength1                 ' For Text
  122. Global FH() As FixedLength2
  123.  
  124. Global Handle As Integer
  125.  
  126. Global NameOfFile As String * 129
  127. Global TotFiles As Integer
  128. Global AveCharWidth As Integer
  129. Global LongestLine As Single
  130. Global ManyBytes As String
  131. Global Hexline As Single
  132.  
  133. Global HexAddress As String * 8
  134. Global String48 As String * 48
  135. Global String16 As String * 16
  136. Global Hex77 As String * 77
  137. Global BigHexBuffer As String * 30800
  138. Global OldScaleWidth As Integer
  139. Global OldScaleHeight As Integer
  140.  
  141. Global optPrinterFont As String
  142. Global optPrinterFontSize As Double
  143. Global optPrinterFontBold As Integer
  144. Global optPrinterFontItalic As Integer
  145.  
  146.  
  147. Global Const MB_OK = 0
  148. Global Const MB_YESNO = 4
  149. Global Const MB_ICONSTOP = 16
  150. Global Const MB_ICONEXCLAMATION = 48
  151. Global Const MB_DEFBUTTON2 = 256
  152. Global Const IDYES = 6
  153. Global Const IDNO = 7                       ' Define other.
  154.  
  155. ' TextMsgs program example
  156.  
  157. Type RECT
  158.     left As Integer
  159.     top As Integer
  160.     right As Integer
  161.     bottom As Integer
  162. End Type
  163.  
  164. Type TEXTMETRIC
  165.     tmHeight As Integer
  166.     tmAscent As Integer
  167.     tmDescent As Integer
  168.     tmInternalLeading As Integer
  169.     tmExternalLeading As Integer
  170.     tmAveCharWidth As Integer
  171.     tmMaxCharWidth As Integer
  172.     tmWeight As Integer
  173.     tmItalic As String * 1
  174.     tmUnderlined As String * 1
  175.     tmStruckOut As String * 1
  176.     tmFirstChar As String * 1
  177.     tmLastChar As String * 1
  178.     tmDefaultChar As String * 1
  179.     tmBreakChar As String * 1
  180.     tmPitchAndFamily As String * 1
  181.     tmCharSet As String * 1
  182.     tmOverhang As Integer
  183.     tmDigitizedAspectX As Integer
  184.     tmDigitizedAspectY As Integer
  185. End Type
  186.  
  187. Declare Function GetTextMetrics% Lib "GDI" (ByVal hDC%, lpMetrics As TEXTMETRIC)
  188.  
  189. ' Drag and Drop
  190.  
  191. Type POINTAPI
  192.         x As Integer
  193.         y As Integer
  194. End Type
  195.  
  196. Type Msg
  197.         hwnd As Integer
  198.         message As Integer
  199.         wparam As Integer
  200.         lParam As Long
  201.         time As Long
  202.         pt As POINTAPI
  203. End Type
  204.  
  205. Global NewMessage As Msg
  206.  
  207. 'dragacceptfiles tells windows that hwnd can accept drag/drop messages
  208. Declare Sub DragAcceptFiles Lib "Shell" (ByVal hwnd As Integer, ByVal Accept As Integer)
  209. 'Main() uses peekmessage to determine if hwnd has received a d/d message
  210. Declare Function PeekMessage Lib "User" (lpMsg As Msg, ByVal hwnd As Integer, ByVal wMsgFilterMin As Integer, ByVal wMsgFilterMax As Integer, ByVal wRemoveMsg As Integer) As Integer
  211. 'dragqueryfile is used to get number of files dropped (when indexFilenum=-1) and then name of each file in succession (when indexFilenum > -1)
  212. Declare Function DragQueryFile Lib "Shell" (ByVal hdrop As Integer, ByVal indexFilenum As Integer, ByVal lpFileName As String, ByVal buffsize As Integer) As Integer
  213. 'dragfinish must be called after all filenames have been retrieved to cancel memory buffer for d/d operation
  214. Declare Sub DragFinish Lib "Shell" (ByVal hwnd As Integer)
  215.  
  216.